The present invention relates to the field of integrated circuits and in particular, to a dual-port memory within a programmable logic integrated circuit.
Programmable logic integrated circuits such as PALs, PLDs, FPGAs, LCAs, and others are becoming more complex and continually evolving to provide more user-programmable features on a single integrated circuit. Modern programmable logic integrated circuits incorporate programmable logic including logic gates, products terms, or look-up tables. Programmable logic integrated circuits also include embedded user-programmable memory or RAM.
Despite the success of programmable logic, there is a continuing desire to provide greater functionality in a programmable logic integrated circuit, and at the same time, to provide greater flexibility. There is a need to provide higher performance user memories. Specifically, the memories need to be configurable to meet customer demands for FIFOs, CAMs, RAMs, product terms, and ROMs. Also, for greatest flexibility, the memory should be a true dual-port, capable of either reading or writing from both ports at the same time. Read-during-write functionality should be supported. Moreover, the memory ports should be configurable to meet the requirements of the application designed in the programmable logic.
What is needed is a highly flexible memory, which may be configured into a number of different memory function types, and is capable of supporting read-during-write operations.